var data_dashboard = {};

var userBarOptionSet = function(userBarData) {
	var option = {
		title : {
			text : ' '
		},
		tooltip : {
			trigger : 'axis'
		},
		legend : {
			data : [ '游客', '普通用户', '医疗工作者', '医生' ]
		},
		grid : {
			x : 30,
			x2 : 40,
			y2 : 24
		},
		calculable : true,
		xAxis : [ {
			type : 'category',
			data : userBarData.xzhouAxis
		} ],
		yAxis : [ {
			type : 'value'
		} ],
		series : [ {
			name : '游客',
			type : 'bar',
			data : userBarData.visitorArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			}
		}, {
			name : '普通用户',
			type : 'bar',
			data : userBarData.userArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			}
		}, {
			name : '医疗工作者',
			type : 'bar',
			data : userBarData.medicalArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			}
		}, {
			name : '医生',
			type : 'bar',
			data : userBarData.doctorArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		} ]
	};
	return option;
}

var resetUserBarChart = function() {
	var barChart = echarts.init(document.getElementById("echarts-bar-chart"));
	barChart.setOption(userBarOptionSet(data_dashboard.user_bar));
	window.onresize = barChart.resize;
}

var questionLineOptionSet = function(questionLineData) {
	var lineoption = {
		title : {
			text : '咨询一览表'
		},
		tooltip : {
			trigger : 'axis'
		},
		legend : {
			data : [ '在线咨询数', '回复数量' ]
		},
		grid : {
			x : 40,
			x2 : 40,
			y2 : 24
		},
		calculable : true,
		xAxis : [ {
			type : 'category',
			boundaryGap : false,
			data : questionLineData.xzhouAxis
		} ],
		yAxis : [ {
			type : 'value',
			axisLabel : {
				formatter : '{value}'
			}
		} ],
		series : [ {
			name : '在线咨询数',
			type : 'line',
			data : questionLineData.questionArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		}, {
			name : '回复数量',
			type : 'line',
			data : questionLineData.replyQuestionArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		} ]
	};
	return lineoption;
}

var resetQuestionLineChart = function() {
	var lineChart = echarts.init(document.getElementById("echarts-line-chart"));
	lineChart.setOption(questionLineOptionSet(data_dashboard.question_line));
	$(window).resize(lineChart.resize);
}

// 订单成交量折线图
var orderLineOptionSet = function(orderLineData) {
	var lineoption = {
		title : {
			text : '订单成交量一览表'
		},
		tooltip : {
			trigger : 'axis'
		},
		legend : {
			data : [ '送心愿', '账户提现', '继续教育', '医学超市', '康复技能学院' ]
		},
		grid : {
			x : 40,
			x2 : 40,
			y2 : 24
		},
		calculable : true,
		xAxis : [ {
			type : 'category',
			boundaryGap : false,
			data : orderLineData.xzhouAxis
		} ],
		yAxis : [ {
			type : 'value',
			axisLabel : {
				formatter : '{value}'
			}
		} ],
		series : [ {
			name : '送心愿',
			type : 'line',
			data : orderLineData.honorariaArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		}, {
			name : '账户提现',
			type : 'line',
			data : orderLineData.withdrawCashArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		} , {
			name : '继续教育',
			type : 'line',
			data : orderLineData.learningArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		} , {
			name : '医学超市',
			type : 'line',
			data : orderLineData.marketArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		} , {
			name : '康复技能学院',
			type : 'line',
			data : orderLineData.recoveryArray,
			markPoint : {
				data : [ {
					type : 'max',
					name : '最大值'
				}, {
					type : 'min',
					name : '最小值'
				} ]
			},
			markLine : {
				data : [ {
					type : 'average',
					name : '平均值'
				} ]
			}
		} ]
	};
	return lineoption;
}

var resetOrderLineChart = function() {
	var lineChart = echarts.init(document.getElementById("echarts-line-chart"));
	lineChart.setOption(orderLineOptionSet(data_dashboard.order_line));
	$(window).resize(lineChart.resize);
}

var userPieOptionSet = function(userPieData) {
	var pieoption = {
		title : {
			text : '共 ' + userPieData.userAllCount + ' 人',
			x : 'center'
		},
		tooltip : {
			trigger : 'item',
			formatter : "{a} <br/>{b} : {c} ({d}%)"
		},
		legend : {
			orient : 'vertical',
			x : 'left',
			data : userPieData.legendData
		},
		calculable : true,
		series : [ {
			name : '访问来源',
			type : 'pie',
			radius : '55%',
			center : [ '50%', '60%' ],
			data : userPieData.seriesData
		} ]
	};
	return pieoption;
}

var resetUserPieChart = function() {

	var userPieData = {};
	var pieChart = echarts.init(document.getElementById("echarts-pie-chart"));
	var pieData = data_dashboard.user_pie;

	var legendData = [];
	var seriesData = [];
	var userAllCount = 0;

	for (var i = 0; i < pieData.length; i++) {
		legendData.push(pieData[i].userTypeName);
		seriesData.push({
			value : pieData[i].userCount,
			name : pieData[i].userTypeName
		});
		userAllCount += pieData[i].userCount;
	}

	userPieData.legendData = legendData;
	userPieData.seriesData = seriesData;
	userPieData.userAllCount = userAllCount;

	pieChart.setOption(userPieOptionSet(userPieData));
	$(window).resize(pieChart.resize);
}

/**
 * 地图
 */
var resetMapChart = function() {
	var mapChart = echarts.init(document.getElementById("echarts-map-chart"));
	var mapoption = {
		title : {
			text : ' ',
			x : 'center'
		},
		tooltip : {
			trigger : 'item'
		},
		legend : {
			orient : 'vertical',
			x : 'left',
			data : [ '医博云' ]
		},
		dataRange : {
			min : 0,
			max : 10000,
			x : 'left',
			y : 'bottom',
			text : [ '高', '低' ], // 文本，默认为数值文本
			calculable : true
		},
		toolbox : {
			show : true,
			orient : 'vertical',
			x : 'right',
			y : 'center',
			feature : {
				mark : {
					show : true
				},
				dataView : {
					show : true,
					readOnly : false
				},
				restore : {
					show : true
				},
				saveAsImage : {
					show : true
				}
			}
		},
		roamController : {
			show : true,
			x : 'right',
			mapTypeControl : {
				'china' : true
			}
		},
		series : [ {
			name : '医博云',
			type : 'map',
			mapType : 'china',
			roam : false,
			itemStyle : {
				normal : {
					label : {
						show : true
					}
				},
				emphasis : {
					label : {
						show : true
					}
				}
			},
			data : [ {
				name : '江苏',
				value : 10000
			} ]
		} ]
	};
	mapChart.setOption(mapoption);
	$(window).resize(mapChart.resize);
}


/**
 * 产生当前年的前10年
 */ 
var yearAnalysis = function(id){
	var myDate = new Date();
	var y=myDate.getFullYear();
	$("#"+id).append('<option value="'+y+'">'+y+'</option>'); 
	for(var i=1;i<11;i++){
		$("#"+id).append('<option value="'+(y-i)+'">'+(y-i)+'</option>'); 
	}
}

/**
 * 产生当前年的12个月
 */ 
var monthAnalysis = function(id){
	for(var i=1;i<13;i++){
		$("#"+id).append('<option value="'+i+'">'+i+'月</option>'); 
	}
}

